package org.common4j2ee.stock.dao.user;


import java.util.List;

import org.common4j2ee.stock.dao.HibernateDao;
import org.common4j2ee.stock.entity.user.Role;
import org.common4j2ee.stock.entity.user.Users;
import org.springframework.stereotype.Component;


/**
 * 角色对象的泛型DAO.
 * 
 */
@Component
public class RoleDaoImpl extends HibernateDao<Role, Long> {

	private static final String QUERY_USER_BY_ROLEID = "select r from Role r left join r.roleList r where r.id=?";

	

//	/**
//	 * 重载函数,因为Role中没有建立与User的关联,因此需要以较低效率的方式进行删除User与Role的多对多中间表.
//	 */
//	@SuppressWarnings("unchecked")
//	@Override
//	public void delete(Long id) {
//		Role role = get(id);
//		//查询出拥有该角色的用户,并删除该用户的角色.
//		List<Users> users = createQuery(QUERY_USER_BY_ROLEID, role.getId()).list();
//		for (Users u : users) {
//			u.getRoleList().remove(role);
//		}
//		super.delete(role);
//	}
}
